{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Regressão Linear Multivariada - Trabalho\n",
    "\n",
    "## Estudo de caso: Qualidade de Vinhos\n",
    "\n",
    "Nesta trabalho, treinaremos um modelo de regressão linear usando descendência de gradiente estocástico no conjunto de dados da Qualidade do Vinho. O exemplo pressupõe que uma cópia CSV do conjunto de dados está no diretório de trabalho atual com o nome do arquivo *winequality-white.csv*.\n",
    "\n",
    "O conjunto de dados de qualidade do vinho envolve a previsão da qualidade dos vinhos brancos em uma escala, com medidas químicas de cada vinho. É um problema de classificação multiclasse, mas também pode ser enquadrado como um problema de regressão. O número de observações para cada classe não é equilibrado. Existem 4.898 observações com 11 variáveis de entrada e 1 variável de saída. Os nomes das variáveis são os seguintes:\n",
    "\n",
    "1. Fixed acidity.\n",
    "2. Volatile acidity.\n",
    "3. Citric acid.\n",
    "4. Residual sugar.\n",
    "5. Chlorides.\n",
    "6. Free sulfur dioxide. \n",
    "7. Total sulfur dioxide. \n",
    "8. Density.\n",
    "9. pH.\n",
    "10. Sulphates.\n",
    "11. Alcohol.\n",
    "12. Quality (score between 0 and 10).\n",
    "\n",
    "O desempenho de referencia de predição do valor médio é um RMSE de aproximadamente 0.148 pontos de qualidade.\n",
    "\n",
    "Utilize o exemplo apresentado no tutorial e altere-o de forma a carregar os dados e analisar a acurácia de sua solução. \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Multivariate Linear Regression Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn import preprocessing\n",
    "import matplotlib.pyplot as plt\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "wineSet = pd.read_csv(\"winequality-white.csv\",';')\n",
    "wineSetNorm = wineSet.copy()\n",
    "del wineSetNorm['quality']\n",
    "\n",
    "wineSetNorm = pd.DataFrame(preprocessing.scale(wineSet))\n",
    "cols = list(wineSetNorm.columns)\n",
    "cols.insert(0,'x0')\n",
    "wineSetNorm['x0'] = 1\n",
    "wineSetNorm = wineSetNorm[cols]\n",
    "wineSetNorm['12'] = wineSet.quality\n",
    "\n",
    "msk = np.random.rand(len(wineSet)) < 0.7\n",
    "train = wineSetNorm[msk]\n",
    "test = wineSetNorm[~msk]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def coefficients(learnRate,train,epochs):\n",
    "    numFeatures = train.shape[1]-1\n",
    "    coeff = np.linspace(-50,-10,numFeatures)#np.ones(numFeatures)\n",
    "    costFunc = []\n",
    "    coefs = [coeff]\n",
    "    for epoch in range(epochs):        \n",
    "        for row in train.values:              \n",
    "            xVet = row[0:-1]           \n",
    "            y = row[-1]\n",
    "            ypred = xVet.dot(coeff.T)\n",
    "            error = (ypred - y)\n",
    "            costFunc.append(error**2)\n",
    "            coeff = coeff - learnRate*error*xVet     \n",
    "            coefs.append(coeff)\n",
    "    return coeff, costFunc,coefs\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def predict(testSet,coeff):\n",
    "    XTest = testSet.values[:,0:-1]\n",
    "    yTest = testSet.values[:,-1]\n",
    "    yPred = XTest.dot(coeff)\n",
    "\n",
    "    RMSE = np.sqrt(sum(yTest - yPred)**2/len(yTest))\n",
    "    return RMSE\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('RMSE da Predicao: ', 6.6203906726571699e-06)\n"
     ]
    }
   ],
   "source": [
    "# Multivariate Linear Regression\n",
    "epochs = 100\n",
    "coeff,costFunc,coefs = coefficients(0.001,train,epochs)\n",
    "RMSE = predict(test,coeff)\n",
    "print(\"RMSE da Predicao: \",RMSE)\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x7fdedc27aa50>"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nG1G8FgYjDVYGowZFxLER8URELI6IuyKik+ul+lZ/C0YzZzbvgxxqO31UOdhgrfrbmDq90bdlr71W\nfv3Rj8LEiR0B4rnnun7/73+/8uuPfzzfxHjq1HxD40rlwaRyrKrS65kzc/+wM89c9f0nnZSfK0fY\n7k7lOh5+uPaQdP31K4/uXhpFuzz4ffSj+ca+zTZ2LHzwg81ZViPBaDDfQqU/+OtfG//8G0wMRg2I\niEOBM4CTgJ2AvwCTI2KjllaM/heMXnmlvk7C3enuVhT1uOEG+M1v4G9/yyGjN/pcdNZXpxlGj4bH\nH2/sC67akAtdqRbCqvWTKvVbKnf88bDnntVvc1ItGJXGd1prrfy8dGmubykEVXPeefl3+brX1XYD\n4lKb3XdfHjrhbW+r/W9r//3zzXxLtt8ePv3pfJSyq2EYhgxZ+X312nvv/FwaLuK552CnnRoPK/Xu\nN9dcAxtu2PVwFf3V3/5We7+4iRPhL3/p3fo0avToxgdbHUwMRo2ZAJyfUrokpTQdOAZYBBzV9dt6\nXy2XaLeTyy7rOEXSDNXG5GnUBz8IBx4IW20FQ4c2N8CV1HOqqRFbbpkHi6xXLV+md9/d8fPo0avO\nr3bk4tVXV5326KOdd5ovD0al8BWRv7TPOy+/XrIEzj23+/oeeGAO4vffn1/fcEOuz5w5cOON1d9z\n6KGrfiHefnuuQynkPPJIx1GhU0+tvpxSn7Hp01c+8vjkk7DNNrm9V6yAb3wjn3r71rfq399Ko8eX\nAs3Pf563dcqU+pZTUm8wuvfe/NxZKOjJ38/BB+fTptUsWFB738JGbbXVyvds7Mrxx696ZLVd9HY7\nDRgpJR91PIA1gNeAAyumXwz8qpP3jAYSTE3546b/Pb71rdbXwUf/f+y1V0op1V5+331TevXV/J7L\nLuuYfuqpXb9v+fKUpkzpfP4mm+TnD32oY9qrr6b0zDMpPfVUSrvu2jH9/vs7fh4xouPn669fdVvW\nW6/ren3nOyu/ft/78vNPf5qfhw9P6be/zT/vs09ayYoVqaply1I64ICVl5tSSmec0VHnww7Ly4OU\ndtklpYULO9ohpZReey2lE05I6fvfT+mYY1J6+OGU9tsvl1l//Vxm6dKUHnwwt88rr3TUacqUlK68\nsqM8pLRkSUf97rgjpZ/9LE+/+eb8u5k1q2P+Sy91/I47U75dldZeO8+bMqXrZaSU173llin9/vfd\n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\npFLD9lpzgJ8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdece835090>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Cost function\n",
    "plt.plot((costFunc))\n",
    "plt.ylim([-10000, 200000])\n",
    "plt.xlim([-10, 3000])\n",
    "plt.xlabel('Iteractions')\n",
    "plt.ylabel('CostFunc')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x7fdecf5e6a10>"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdedc7b2a10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Contour Function\n",
    "X = train.iloc[:,(0,1)].values\n",
    "y = train.iloc[:,-1].values\n",
    "\n",
    "theta0 = np.linspace(-50,100,50)\n",
    "theta1 = np.linspace(-100,60,50)\n",
    "J = np.zeros((50,50))\n",
    "\n",
    "for i in np.arange(len(theta0)):\n",
    "    for j in range(len(theta0)):\n",
    "        theta = np.array(list([theta0[i],theta1[j]]))\n",
    "        J[i,j] = sum((X.dot(theta)-y)**2)/(2*len(y))\n",
    "        \n",
    "train2 = train.iloc[:,(1,2,-1)]\n",
    "coeff,cost,cos = coefficients(0.001,train2,epochs=1)\n",
    "coefs = np.array(cos)\n",
    "plt.contour(theta1,theta0,J)\n",
    "plt.ylim(-50,100) \n",
    "plt.xlim(-100,60)\n",
    "plt.plot(coefs[:,0],coefs[:,1])\n",
    "plt.plot(coeff[0],coeff[1],'ro')\n",
    "plt.xlabel('Theta0')\n",
    "plt.ylabel('Theta1')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Baseline Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('RMSE - Minimos Quadrados', 3.4334149235728875e-14)\n"
     ]
    }
   ],
   "source": [
    "# Ordinary Least Square\n",
    "XTrain = train.values[:,0:-1]\n",
    "yTrain = train.values[:,-1]\n",
    "yTest = test.values[:,-1]\n",
    "coeff = np.linalg.pinv(XTrain).dot(yTrain)\n",
    "\n",
    "RMSE = predict(test,coeff)\n",
    "print(\"RMSE - Minimos Quadrados\", RMSE)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
